#pragma once

#include<stdio.h>
#include<stdlib.h>
#include<assert.h>

typedef  int LTdatatype;
typedef struct Listnode
{
	struct Listnode* prev;
	LTdatatype data;
	struct Listnode* next;
}Listnode;

Listnode* ListCreate(void);
Listnode* buynewnode(LTdatatype x);
void Listpushback(Listnode* head, LTdatatype x);
void Listprint(Listnode* head);
void Listpopback(Listnode* head);
void Listpushfront(Listnode* head, LTdatatype x);
void Listpopfront(Listnode* head);
Listnode* ListFind(Listnode* head, LTdatatype x);
void ListInsert(Listnode* pos, LTdatatype x);
void ListErase(Listnode* pos);
void Listdestroy(Listnode* pos);

